Digital images and videos are stored and used on many devices, including general-purpose computers, digital still cameras and digital video cameras. Digital images and videos are typically stored in compressed form on devices in order to reduce storage, memory and bandwidth costs. A widely used standard for image compression is the “Joint Photographic Experts Group” or JPEG standard. An emerging new standard for image compression is the JPEG2000 standard. Both JPEG and JPEG2000 are nominally still image compression standards. While JPEG is predominantly used to compress a still image, there are various video encoding formats known loosely as “Motion JPEG”. Motion JPEG encodes each frame of a video as a still image using JPEG, and provides a compressed video stream format for wrapping all the encoded frames of a video into a Motion JPEG encoded stream. However, Motion JPEG was never formally standardized. Currently, the JPEG2000 standard provides for a still image compression mode, which is described in the JPEG 2000 Final Committee Draft Version 1.0, 16 Mar. 2000, ISO/IEC FCD 15444-1 (Part I), and the JPEG 2000 Final Committee Draft, 7 Dec. 2000, ISO/IEC FCD 15444-2 (Part II) publications. It is also proposed that the JPEG2000 standard provide for a video encoding mode known as Motion JPEG2000, which is described in the publication Motion JPEG 2000 Final Committee Draft 1.0, 14 Mar. 2001 ISO/IEC 15444:3 (Part III) 2000. Motion JPEG2000 is analogous to Motion JPEG in that single frames of a video are encoded with JPEG2000 (in a still image mode) and the resulting compressed frames wrapped into a compressed video stream (eg. file format). While there are other video encoding formats, such as the MPEG family, that potentially offer better compression than the JPEG motion family (Motion JPEG or Motion JPEG2000), the JPEG motion family offers several different advantages. In addition Motion JPEG2000 offers a suite of features inherited from JPEG2000 in still image mode.
For the purpose of this description the term “JPEG2000” will be used to refer to the JPEG2000 standard in a still image mode—that is for compressing/decompressing a still image (one frame of a video), and “Motion JPEG2000” (MJ2K) when referring to JPEG2000 standard in a video compressing/decompressing mode.
An important decision to be made when compressing images or videos is how many bytes are available for the compressed images and videos. The higher the compression rate the lower the number of bytes required for storage and transmission. The trade-off is that quality of the resulting decompressed image or video generally decreases as the compression rate increases. One goal is to maximise the compression while maintaining an acceptable level of quality or alternatively maximising the image or video quality within a constant number of bytes. A technique recommended by the JPEG2000 standard to maximise image quality at a given rate is to use a rate control strategy called the post-coding rate distortion optimisation (PCRD-opt). It is employed when the actual coding itself is complete but the available byte budget is exceeded. PCRD-opt is then used to trim back (i.e. to discard part of the compressed data) the compressed data to fit the desired target bit-rate at for example, the highest achievable image quality. One problem with the compression scheme utilising PCRD-opt is that often code-blocks are substantially overcoded. Such overcoding slows the compression scheme. Furthermore, overcoding increases the memory required for buffering the intermediate compressed data.
In addition to rate control there are various important compression system parameters affecting quality. For example, in JPEG and JPEG2000 a set of subband or coefficient weights is used to emphasize the importance of low frequencies as opposed to high frequencies commensurate with the response of the human visual system. In JPEG2000 these are typically referred to as “human visual weights”.
Compressing a video sequence introduces further distortions in addition to the distortion that arises when encoding a single frame. For example, when MJ2K videos are decoded and displayed, distortion can appear as a type of rapidly moving noise, called flicker. Often this flicker is not readily apparent in each decompressed frame, and only becomes apparent when the frames are displayed in rapid succession, as when displaying the decoded video. Various sets of human visual weights have been proposed as means of ameliorating this flicker. These visual weightings are generally derived according to the human contrast sensitivity function (CSF). Visual weighting typically consists of a fixed weighting for the luminance and chrominance components according to the CSF. However, the improvement from such specific weights for reducing flicker is not substantial, and further improvement remains.
Other methods have been proposed to reduce flicker which make use of previous video frames in encoding a current video frame. In many applications it is too disadvantageous to store an entire video frame.